class Pr3daPlugin:
  def __init__(self, id):
    self.id = id
    if self.__class__ is Pr3daPlugin:
      raise NotImplementedError

  def search(self, query):
    if self.__class__ is Pr3daPlugin:
      raise NotImplementedError

  def getLoader(self):
    if self.__class__ is Pr3daPlugin:
      raise NotImplementedError